package com.magenta.maxoptra.gis;

/**
 * Maxoptra 1.2
 * User: ivictus@rambler.ru
 * Date: 08.07.2010
 * Time: 15:10:40
 * <p/>
 * Copyright (c) 1999-2010 Magenta Corporation Ltd. All Rights Reserved.
 * Magenta Technology proprietary and confidential.
 * Use is subject to license terms.
 */

/**
 * SQL types refining.
 */
public final class SQL {
    private SQL() {  }

    @java.lang.annotation.Target({java.lang.annotation.ElementType.FIELD})
    @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME)
    public static @interface Precision {
        int value () default 0;
    }

    @java.lang.annotation.Target({java.lang.annotation.ElementType.FIELD})
    @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME)
    public static @interface Charset {
        String value () default  "utf8";
    }

    @java.lang.annotation.Target({java.lang.annotation.ElementType.FIELD})
    @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME)
    public static @interface Indexes {
        String[] value () default  "";
    }

    public static class TypeFeatures {
        public String name;
        public Integer precision;
        public String characterSet;
        public Integer length = 10;
        public Boolean isNotNull;
        public Boolean unique;
    }
}
